<?php
Class PreferenceDAO
{
	public $connexion;

	public function __construct()
	{
		try {
			$this->connexion = new PDO("mysql:host=".SERVEUR_MYSQL.";dbname=".BASE.";charset=utf8", UTILISATEUR, M2P);
		}
		catch(PDOException $e)
		{
			echo "Erreur : ".$e->getMessage();
			die();
		}
	}

//permet de récupérer pour un champs donné la valeur du champ à mettre par défaut dans le formulaire d'un centre donnée pour faciliter la saisie.
	public function rechercher_preference_champ($champ = null, $idcentre = null)
	{
		$query = "SELECT valeur "
		."FROM preference WHERE 1 ";
		if ($champ != null){
			$query .= " AND champ like :champ ";
		}
		if ($idcentre != null){
			$query .= " AND idcentre = :idcentre ";
		}
		$requette_preparee = $this->connexion->prepare($query);
		if ($champ != null){
			$requette_preparee->bindValue(":champ" , $champ, PDO::PARAM_STR);
		}
		if ($idcentre != null){
			$requette_preparee->bindValue(":idcentre" , $idcentre, PDO::PARAM_INT);
		}
		$requette_preparee->execute();
		$preference= $requette_preparee->fetch();
		return  $preference['valeur'];

	} 

public function rechercher_preference_by_idcentre($idcentre = null)
{
	$query = "SELECT * "
			."FROM preference WHERE 1 ";
	if ($idcentre != null){
		$query .= " AND idcentre = :idcentre ";
	}
	$requette_preparee = $this->connexion->prepare($query);
	if ($idcentre != null){
		$requette_preparee->bindValue(":idcentre" , $idcentre, PDO::PARAM_INT);
	}
	$requette_preparee->execute();
	$prefs = $requette_preparee->fetchAll(PDO::FETCH_CLASS,'Preference');
	return  $prefs;

}



// modifier_preference
public function modifier_preference($pref)
{
	$message = null;
	$query = "UPDATE preference SET ";
	if ($pref->valeur != null){
		$query.= "valeur = :valeur , ";
	}
	if ($pref->champ != null){
		$query.= "champ = :champ , ";
	}
	if ($pref->idcentre != null){
		$query.= "idcentre = :idcentre , ";
	}
	$query = substr($query, 0,-2);
	$query = $query." WHERE idpreference = :idpreference";
	$requette_preparee = $this->connexion->prepare($query);
	if ($pref->valeur != null){
		$requette_preparee->bindValue(":valeur" , $pref->valeur, PDO::PARAM_STR);
	}
	if ($pref->champ != null){
		$requette_preparee->bindValue(":champ" , $pref->champ, PDO::PARAM_STR);
	}
	if ($pref->idcentre != null){
		$requette_preparee->bindValue(":idcentre" , $pref->idcentre, PDO::PARAM_INT);
	}

	$requette_preparee->bindValue(":idpreference" , $pref->idpreference, PDO::PARAM_INT);
	$t = $requette_preparee->execute();

	if(!$t)
	{

		$taberr = $requette_preparee->errorInfo();
		$message = "Erreur numéro :".$taberr[0]."(".$taberr[1]."):".$taberr[2];

	} else {
		$message = $pref->idpreference;
	}
	return $message;

} // modifier_preference

} // PreferenceDAO

?>
